Asynchronous Transfer Mode (ATM) or “cell switching” is a method of transmitting digital information wherein the information is broken into equal sized units called “cells.” The individual cells of information are transmitted from a source node to a destination node through a “channel.” A channel is a pathway through a digital network. A digital network is constructed of digital switches coupled together by digital communication channels.
A typical full-integrated voice and data network using digital trunk lines (e.g., T1, FT1, E1, T3, etc.) includes a number of geographically distant interconnected nodes. Each node acts as a cell exchanger for receiving and forwarding cell information to its destination. By the use of a variety of interface cards, each node is capable of interfacing with user generated voice and data streams, then segmenting and assembling the streams into a more efficient cell format for transmission over a closed network using digital lines. Each node is also capable of receiving data from other network nodes and forwarding that data through to other network nodes to its ultimate destination. All terminal nodes also provide the necessary interface cards required to reassemble the data contained in the cells into a standard user data stream format.
Each cell originates at a source node and is transmitted across a communication channel. The communication channels carry the cells of information between the digital switches along the connection pathway. The digital switches route the cells from incoming communication channels to outgoing communication channels and finally to a destination node.
Even with sophisticated queuing and service algorithms, however, congestion (due to excess arriving traffic at a switch) can occur. If no resources are available, the connection is not allowed.
FIG. 1 illustrates a typical prior art switch 22 to switch 22 communication scheme. Voice cells of telephone 201 communicate with switch 22 via bidirectional communication links 202. Voice cells of telephone 201 are transmitted into switch 22 and stored in queue 203. Voice cells of telephone 201 leave queue 203 and are provided to cell selector 212. Likewise, workstation 204, typically via a Large Area Network (LAN) (not shown), passes workstation cells to rate controller 205 to the switch 22 over bi-directional communication links 202. The workstation cells transmitted into switch 22 are stored in queue 206. Workstation cells leave queue 206 and are provided to cell selector 212.
Cell selector 212 transmits voice and workstation cells to another switch 22 via bi-directional communication channel 42. Cell router 207 receives the cells from channel 42. Cell router 207 delivers voice cells to voice queue 208 and workstation cells to queue 209. Queue 209 passes the workstation cells on to rate controller 205 which then sends the data to workstation 204. Voice queue 208 passes the voice cells to telephone 201 via bi-directional communication links 202. Queues 206 and 209 include congestion controller 210 which provides a feedback signal 211 to rate controller 205. Rate controller 205 regulates the data rate at which workstation cells are accepted by or delivered from queues 206 and 209. Thus congestion controller 210 provides variable rate quality of service congestion control. Voice queues 203 and 208 do not implement this type of congestion control mechanism because voice cells must be delivered and received at a constant bit rate. Therefore, congestion control that varies the rate of voice cells below its minimum required transmission rate is unacceptable.
FIG. 2 illustrates a prior art scheme of data transmission implementing variable rate quality of service congestion control. As described in FIG. 1, telephone 201 transmits voice cells to switch 22 via bi-directional communication link 202 at a fixed data rate. Voice queue 203 accepts the voice cells and passes the voice cells onto cell selector 212. Likewise, workstation 204 passes workstation cells to cell selector 212 via bi-directional communication links 202, rate controller 205, queue 206 and congestion control mechanism 210. Cell selector 212 then transmits voice and workstation cells to another switch 22 via bi-directional communication channel 42. Bi-directional communication channel 42 has a variable bandwidth (BWA) 218.
If channel 42 has a fixed bandwidth, the sum of the voice cell rate (R1) 216 and workstation cells rate (R2) 217 would be equal to BWA 218. R1 216 would be equal the fixed bandwidth (BWF) 214 required by telephone 201. R2 217 would equal the variable bandwidth (BWV) 215 provided by rate controller 205. Cell selector 212; therefore, would output cells at a rate equal to BWA 218 of channel 42.
If BWA 218 does not decrease, BWF 214 (representing the fixed data rate required for voice communications) is equal to R1 216 (representing the data rate at which cell selector 212 sends data to channel 42). Thus, voice queue 203 does not back-up. If the bandwidth of channel 42 increases, a similar result occurs.
However, if BWA 218 of channel 42 is decreased to a new lower value, then cell selector 212 can only output cells at a maximum rate of the lower BWA. To compensate, cell selector 212 accepts cells at a lower data rate by decreasing R1 216 to a new lower value and by decreasing R2 217 to a new lower value. The decreases in R1 216 and R2 217 are typically proportional to the decrease of BWA 218. Rate controller 205 compensates for the decrease of R2 217 so queue 206 experiences no congestion. However a decrease of BWA 218, causes voice cells from telephone 201 to experience congestion at voice queue 203. The cause of this congestion is apparent from the following example.
Suppose BWA 218 is 2,000 cells per second, BWV 215 is 1,000 cells per second and BWF 214 requires 1,000 cells per second to properly transmit voice cells. Neither voice queue 203 nor queue 206 suffer congestion and there is no data loss. Now suppose BWA 306 is reduced to 1,500 cells per second. Cell selector 212 is forced to output cells at a rate no greater than 1,500 cells per second. Therefore, cell selector 212 sets R1 216 and R2 217 to 750 cells per second. Queue 206 suffers no congestion since congestion control mechanism 210 and rate controller 205 reduce the data flowing into queue 206 to 750 cells per second. However, voice queue 203 suffers congestion and cell loss 213 because BWF 214 still requires a data rate of 1,000 cells per second, but R1 216 is only 750 cells per second. Thus voice queue 203 is congested and backs-up causing 250 cells per second of lost cells 213 from voice queue 203. The quality of service is very poor for voice since one quarter of the cells are lost.